home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / python2.4 / test / test_shelve.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2005-10-18  |  6KB  |  193 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.4)
  3.  
  4. import os
  5. import unittest
  6. import shelve
  7. import glob
  8. from test import test_support
  9.  
  10. class TestCase(unittest.TestCase):
  11.     fn = 'shelftemp' + os.extsep + 'db'
  12.     
  13.     def test_ascii_file_shelf(self):
  14.         
  15.         try:
  16.             s = shelve.open(self.fn, binary = False)
  17.             s['key1'] = (1, 2, 3, 4)
  18.             self.assertEqual(s['key1'], (1, 2, 3, 4))
  19.             s.close()
  20.         finally:
  21.             for f in glob.glob(self.fn + '*'):
  22.                 os.unlink(f)
  23.             
  24.  
  25.  
  26.     
  27.     def test_binary_file_shelf(self):
  28.         
  29.         try:
  30.             s = shelve.open(self.fn, binary = True)
  31.             s['key1'] = (1, 2, 3, 4)
  32.             self.assertEqual(s['key1'], (1, 2, 3, 4))
  33.             s.close()
  34.         finally:
  35.             for f in glob.glob(self.fn + '*'):
  36.                 os.unlink(f)
  37.             
  38.  
  39.  
  40.     
  41.     def test_proto2_file_shelf(self):
  42.         
  43.         try:
  44.             s = shelve.open(self.fn, protocol = 2)
  45.             s['key1'] = (1, 2, 3, 4)
  46.             self.assertEqual(s['key1'], (1, 2, 3, 4))
  47.             s.close()
  48.         finally:
  49.             for f in glob.glob(self.fn + '*'):
  50.                 os.unlink(f)
  51.             
  52.  
  53.  
  54.     
  55.     def test_in_memory_shelf(self):
  56.         d1 = { }
  57.         s = shelve.Shelf(d1, binary = False)
  58.         s['key1'] = (1, 2, 3, 4)
  59.         self.assertEqual(s['key1'], (1, 2, 3, 4))
  60.         s.close()
  61.         d2 = { }
  62.         s = shelve.Shelf(d2, binary = True)
  63.         s['key1'] = (1, 2, 3, 4)
  64.         self.assertEqual(s['key1'], (1, 2, 3, 4))
  65.         s.close()
  66.         self.assertEqual(len(d1), 1)
  67.         self.assertNotEqual(d1, d2)
  68.  
  69.     
  70.     def test_mutable_entry(self):
  71.         d1 = { }
  72.         s = shelve.Shelf(d1, protocol = 2, writeback = False)
  73.         s['key1'] = [
  74.             1,
  75.             2,
  76.             3,
  77.             4]
  78.         self.assertEqual(s['key1'], [
  79.             1,
  80.             2,
  81.             3,
  82.             4])
  83.         s['key1'].append(5)
  84.         self.assertEqual(s['key1'], [
  85.             1,
  86.             2,
  87.             3,
  88.             4])
  89.         s.close()
  90.         d2 = { }
  91.         s = shelve.Shelf(d2, protocol = 2, writeback = True)
  92.         s['key1'] = [
  93.             1,
  94.             2,
  95.             3,
  96.             4]
  97.         self.assertEqual(s['key1'], [
  98.             1,
  99.             2,
  100.             3,
  101.             4])
  102.         s['key1'].append(5)
  103.         self.assertEqual(s['key1'], [
  104.             1,
  105.             2,
  106.             3,
  107.             4,
  108.             5])
  109.         s.close()
  110.         self.assertEqual(len(d1), 1)
  111.         self.assertEqual(len(d2), 1)
  112.  
  113.  
  114. from test import mapping_tests
  115.  
  116. class TestShelveBase(mapping_tests.BasicTestMappingProtocol):
  117.     fn = 'shelftemp.db'
  118.     counter = 0
  119.     
  120.     def __init__(self, *args, **kw):
  121.         self._db = []
  122.         mapping_tests.BasicTestMappingProtocol.__init__(self, *args, **kw)
  123.  
  124.     type2test = shelve.Shelf
  125.     
  126.     def _reference(self):
  127.         return {
  128.             'key1': 'value1',
  129.             'key2': 2,
  130.             'key3': (1, 2, 3) }
  131.  
  132.     
  133.     def _empty_mapping(self):
  134.         self._db.append(x)
  135.         return x
  136.  
  137.     
  138.     def tearDown(self):
  139.         for db in self._db:
  140.             db.close()
  141.         
  142.         self._db = []
  143.         if not self._in_mem:
  144.             for f in glob.glob(self.fn + '*'):
  145.                 os.unlink(f)
  146.             
  147.         
  148.  
  149.  
  150.  
  151. class TestAsciiFileShelve(TestShelveBase):
  152.     _args = {
  153.         'binary': False }
  154.     _in_mem = False
  155.  
  156.  
  157. class TestBinaryFileShelve(TestShelveBase):
  158.     _args = {
  159.         'binary': True }
  160.     _in_mem = False
  161.  
  162.  
  163. class TestProto2FileShelve(TestShelveBase):
  164.     _args = {
  165.         'protocol': 2 }
  166.     _in_mem = False
  167.  
  168.  
  169. class TestAsciiMemShelve(TestShelveBase):
  170.     _args = {
  171.         'binary': False }
  172.     _in_mem = True
  173.  
  174.  
  175. class TestBinaryMemShelve(TestShelveBase):
  176.     _args = {
  177.         'binary': True }
  178.     _in_mem = True
  179.  
  180.  
  181. class TestProto2MemShelve(TestShelveBase):
  182.     _args = {
  183.         'protocol': 2 }
  184.     _in_mem = True
  185.  
  186.  
  187. def test_main():
  188.     test_support.run_unittest(TestAsciiFileShelve, TestBinaryFileShelve, TestProto2FileShelve, TestAsciiMemShelve, TestBinaryMemShelve, TestProto2MemShelve, TestCase)
  189.  
  190. if __name__ == '__main__':
  191.     test_main()
  192.  
  193.